<!doctype html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../assert_selection.js"></script>
<script>
if (window.internals)
  internals.settings.setEditingBehavior('win');

selection_test(
  '<div contenteditable dir="ltr">|abc def hij אאא בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">|abc def hij אאא בבב צצצ opr uvw xyz</div>',
  '5-0 left word');

selection_test(
  '<div contenteditable dir="ltr">a|bc def hij אאא בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">|abc def hij אאא בבב צצצ opr uvw xyz</div>',
  '5-1 left word');

selection_test(
  '<div contenteditable dir="ltr">ab|c def hij אאא בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">|abc def hij אאא בבב צצצ opr uvw xyz</div>',
  '5-2 left word');

selection_test(
  '<div contenteditable dir="ltr">abc| def hij אאא בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">|abc def hij אאא בבב צצצ opr uvw xyz</div>',
  '5-3 left word');

selection_test(
  '<div contenteditable dir="ltr">abc |def hij אאא בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">|abc def hij אאא בבב צצצ opr uvw xyz</div>',
  '5-4 left word');

selection_test(
  '<div contenteditable dir="ltr">abc d|ef hij אאא בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc |def hij אאא בבב צצצ opr uvw xyz</div>',
  '5-5 left word');

selection_test(
  '<div contenteditable dir="ltr">abc de|f hij אאא בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc |def hij אאא בבב צצצ opr uvw xyz</div>',
  '5-6 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def| hij אאא בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc |def hij אאא בבב צצצ opr uvw xyz</div>',
  '5-7 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def |hij אאא בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc |def hij אאא בבב צצצ opr uvw xyz</div>',
  '5-8 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def h|ij אאא בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def |hij אאא בבב צצצ opr uvw xyz</div>',
  '5-9 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hi|j אאא בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def |hij אאא בבב צצצ opr uvw xyz</div>',
  '5-10 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij| אאא בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def |hij אאא בבב צצצ opr uvw xyz</div>',
  '5-11 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij |אאא בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def |hij אאא בבב צצצ opr uvw xyz</div>',
  '5-12 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij א|אא בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij |\u05D0\u05D0\u05D0 \u05D1\u05D1\u05D1 \u05E6\u05E6\u05E6 opr uvw xyz</div>',
  '5-13 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אא|א בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij |\u05D0\u05D0\u05D0 \u05D1\u05D1\u05D1 \u05E6\u05E6\u05E6 opr uvw xyz</div>',
  '5-14 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא| בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij |\u05D0\u05D0\u05D0 \u05D1\u05D1\u05D1 \u05E6\u05E6\u05E6 opr uvw xyz</div>',
  '5-15 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא |בבב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij |\u05D0\u05D0\u05D0 \u05D1\u05D1\u05D1 \u05E6\u05E6\u05E6 opr uvw xyz</div>',
  '5-16 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא ב|בב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij \u05D0\u05D0\u05D0 |\u05D1\u05D1\u05D1 \u05E6\u05E6\u05E6 opr uvw xyz</div>',
  '5-17 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בב|ב צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij \u05D0\u05D0\u05D0 |\u05D1\u05D1\u05D1 \u05E6\u05E6\u05E6 opr uvw xyz</div>',
  '5-18 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב| צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij \u05D0\u05D0\u05D0 |\u05D1\u05D1\u05D1 \u05E6\u05E6\u05E6 opr uvw xyz</div>',
  '5-19 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב |צצצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij \u05D0\u05D0\u05D0 |\u05D1\u05D1\u05D1 \u05E6\u05E6\u05E6 opr uvw xyz</div>',
  '5-20 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב צ|צצ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij \u05D0\u05D0\u05D0 \u05D1\u05D1\u05D1 |\u05E6\u05E6\u05E6 opr uvw xyz</div>',
  '5-21 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצ|צ opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij \u05D0\u05D0\u05D0 \u05D1\u05D1\u05D1 |\u05E6\u05E6\u05E6 opr uvw xyz</div>',
  '5-22 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ| opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij \u05D0\u05D0\u05D0 \u05D1\u05D1\u05D1 |\u05E6\u05E6\u05E6 opr uvw xyz</div>',
  '5-23 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ |opr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij \u05D0\u05D0\u05D0 \u05D1\u05D1\u05D1 |\u05E6\u05E6\u05E6 opr uvw xyz</div>',
  '5-24 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ o|pr uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ |opr uvw xyz</div>',
  '5-25 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ op|r uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ |opr uvw xyz</div>',
  '5-26 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr| uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ |opr uvw xyz</div>',
  '5-27 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr |uvw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ |opr uvw xyz</div>',
  '5-28 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr u|vw xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr |uvw xyz</div>',
  '5-29 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr uv|w xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr |uvw xyz</div>',
  '5-30 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr uvw| xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr |uvw xyz</div>',
  '5-31 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr uvw |xyz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr |uvw xyz</div>',
  '5-32 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr uvw x|yz</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr uvw |xyz</div>',
  '5-33 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr uvw xy|z</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr uvw |xyz</div>',
  '5-34 left word');

selection_test(
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr uvw xyz|</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="ltr">abc def hij אאא בבב צצצ opr uvw |xyz</div>',
  '5-35 left word');
</script>
